package com.crazy.web.service.user;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.crazy.model.major.dto.RoleAuthorityDto;
import com.crazy.model.major.dto.UserRoleDto;
import com.crazy.model.major.entity.TUserLimit;
import com.crazy.model.major.entity.TUserRole;

import java.util.List;

/**
 * 角色相关服务
 * @author zhaochaofeng
 * @version 1.0
 * @date 2020/12/17 13:36
 */
public interface RoleService {

    /**
     * 角色列表
     * @param page
     * @param rows
     * @return
     */
    IPage<TUserRole> list(int page, int rows);

    /**
     * 删除角色
     * @param id
     */
    void delete(Long id);

    /**
     * 通过角色获取权限
     * @param roleId
     * @return
     */
    List<RoleAuthorityDto> getAuthByRoleId(Long roleId);

    /**
     * 保存/修改角色
     * @param tUserRole
     * @param auths
     */
    void saveOrUpdate(TUserRole tUserRole, Long[] auths);

    /**
     * 查询所有角色
     * @return
     */
    List<UserRoleDto> all(Long userId);

    /**
     * 绑角色
     * @param userId
     * @param roles
     */
    void tieRole(Long userId, Long[] roles);
}
